﻿using STHPMS1.ICore.I_Entity.Info;
using STHPMS1.ICore.I_Entity.Stmpms1;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;

namespace STHPMS1.ICore.I_BLL.Bus
{
    public interface IDp_Preventive_ModelBill : IBll
    {
        void Save<T>(T entity)
            where T : class ,IDp_Preventive_Model;

        void Remove(IDp_Preventive_Model entity);

        IEnumerable<T> Get<T>(Expression<Func<T, bool>> predicate, IPagingInfo info)
            where T : class, IDp_Preventive_Model;


        /// <summary>
        /// 获取预防性养护分析模型
        /// </summary>
        /// <param name="meas">养护措施</param>
        /// <param name="pci">原路面PCI</param>
        /// <param name="modelmode">模型形式</param>
        /// <returns></returns>
        IDp_Preventive_Model GetDp_Preventive_Model(string meas, double pci, int modelmode);

        /// <summary>
        /// 获取预防性养护分析模型
        /// </summary>
        /// <param name="meas">养护措施</param>
        /// <param name="pci">原路面PCI</param>
        /// <param name="modelmode">模型形式</param>
        /// <returns></returns>
        IDp_Preventive_Model GetDp_Preventive_Model(string meas, string mainsegid, int modelmode);
    }
}
